# Buildroot backend specific options

if BR2_TOOLCHAIN_BUILDROOT

comment "Toolchain Options"

config BR2_TOOLCHAIN_BUILDROOT_LARGEFILE
	bool "Enable large file (files > 2 GB) support"
	select BR2_LARGEFILE
	help
	  Enable this option if you want your toolchain to support
	  files bigger than 2 GB.

config BR2_TOOLCHAIN_BUILDROOT_INET_IPV6
	bool "Enable IPv6 support"
	select BR2_INET_IPV6
	help
	  Enable this option if you want your toolchain to support
	  IPv6.

config BR2_TOOLCHAIN_BUILDROOT_INET_RPC
	bool "Enable RPC support"
	select BR2_INET_RPC
	help
	  Enable this option if you want your toolchain to support
	  RPC (needed for NFS, for example).

config BR2_TOOLCHAIN_BUILDROOT_WCHAR
	bool "Enable WCHAR support"
	select BR2_USE_WCHAR
	help
	  Enable this option if you want your toolchain to support
	  wide characters (i.e characters longer than 8 bits, needed
	  for locale support).

config BR2_TOOLCHAIN_BUILDROOT_LOCALE
	bool "Enable toolchain locale/i18n support"
	select BR2_TOOLCHAIN_BUILDROOT_WCHAR
	select BR2_ENABLE_LOCALE
	help
	  Enable this option if you want your toolchain to support
	  localization and internationalization.

config BR2_TOOLCHAIN_BUILDROOT_CXX
	bool "Enable C++ support"
	select BR2_INSTALL_LIBSTDCPP
	depends on !(! BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE && \
		       BR2_TOOLCHAIN_BUILDROOT_LOCALE    && \
		       BR2_UCLIBC_VERSION_0_9_31)
	help
	  Enable this option if you want your toolchain to support the
	  C++ language and you want C++ libraries to be installed on
	  your target system.

comment "C++ support broken in uClibc 0.9.31 with locale enabled with gcc 4.2"
	depends on !BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE && \
		    BR2_TOOLCHAIN_BUILDROOT_LOCALE    && \
		    BR2_UCLIBC_VERSION_0_9_31

config BR2_TOOLCHAIN_BUILDROOT_USE_SSP
	bool "Enable stack protection support"
	help
	  Enable stack smashing protection support using GCCs
	  -fstack-protector[-all] option.

	  See http://www.linuxfromscratch.org/hints/downloads/files/ssp.txt
	  for details.

choice
	prompt "Thread library implementation"
	default BR2_PTHREADS_NATIVE if (!BR2_UCLIBC_VERSION_0_9_31) && !BR2_ARM_OABI
	default BR2_PTHREADS_OLD
	help
	  Use this option to select the thread library implementation
	  that should be used in your toolchain. Not all thread
	  variants work with all versions of uClibc, the "linuxthreads
	  (stable/old)" may be a working fallback if you need
	  threading at all.

	config BR2_PTHREADS_NONE
		bool "none"

	config BR2_PTHREADS
		bool "linuxthreads"
	        select BR2_TOOLCHAIN_HAS_THREADS

	config BR2_PTHREADS_OLD
		bool "linuxthreads (stable/old)"
	        select BR2_TOOLCHAIN_HAS_THREADS

	config BR2_PTHREADS_NATIVE
		bool "Native POSIX Threading (NPTL)"
	        select BR2_TOOLCHAIN_HAS_THREADS
		depends on !BR2_UCLIBC_VERSION_0_9_31
		depends on !BR2_ARM_OABI
		depends on !BR2_x86_i386
endchoice

source "toolchain/elf2flt/Config.in"
source "toolchain/mklibs/Config.in"

config BR2_VFP_FLOAT
	bool "Use ARM Vector Floating Point unit"
	depends on !BR2_SOFT_FLOAT
	depends on BR2_arm || BR2_armeb
	help
	  Setting this option will enable the "-mfpu=vfp" option.
	  If your ARM CPU has a Vector Floating Point Unit (VFP)
	  and the toolchain supports the option, then the
	  code can be optimized.

	  Most people will answer N.

endif
